﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LojaEmDia.Negocio;

namespace LojaEmDia.Negocio.Dominio
{
    class DominioEstado : DominioBase
    {
        private static DominioEstado _instancia;
        Repository<ESTADO, ModeloLojaContainer> _Repository = null;

        private DominioEstado()
        {
            _Repository = new Repository<ESTADO, ModeloLojaContainer>(this.Contexto);
            _Repository.KeyProperty = "COD_ESTADO";
        }

        public static DominioEstado Me
        {
            get {

                if (_instancia == null)
                    _instancia = new DominioEstado();
                return _instancia;
            }
        }


        public List<ESTADO> Listar()
        {
            var query = (from _c in this.Contexto.ESTADO
                         select _c);

            return query.ToList();

        }




        internal IList<ESTADO> Listar(int pagina, int quantidadeRegistros)
        {
            System.Linq.Expressions.Expression<Func<ESTADO, object>> sortexpression = e => e.NOM_ESTADO;
            return _Repository.SelectAll(sortexpression, quantidadeRegistros, pagina * quantidadeRegistros);
        }
    }
}
